/*
 * Copyright (C) 2011 TopCoder Inc., All Rights Reserved.
 */
package gov.nasa.pds.services;

import gov.nasa.pds.entities.DataFile;

/**
 * Copies a file from a source to a destination.
 * 
 * Thread Safety: The implementations should be effectively thread-safe.
 */
public interface DataFileCopier {
    /**
     * Copies the file to the stated destination.
     * 
     * @param dataFile
     *            - the file to copy.
     * @param destination
     *            - the new destination of the data file.
     * @throws DataSetProcessingException
     *             - if there is an error while doing the copy.
     */
    void copyDataFile(DataFile dataFile, String destination) throws DataSetProcessingException;
}
